// 引入富文本解析插件
var WxParse = require('../../../wxParse/wxParse.js');
// 引入公用的自定义函数
var $ = require('../../../utils/js.js');
var img_src = $.img_src;
var $time = require('../../../utils/time.js');

var dao_ji_shi;

Page({
  // 页面的初始数据
  data: {
    // 图片路径的公用部分
    img_src: img_src,

    // 用户是否收藏
    shou_cang: false,

    // 是否显示规则
    rule_show: false,
    // 规则数据
    rule_data: [{
      title: "开团/参团",
      content: "支付成功后才算开团/参团成功"
    }, {
      title: "分享拼团给好友",
      content: "邀请参团"
    }, {
      title: "拼团成功",
      content: "参团人数达到成团人数即拼团成功，拼不成则退款"
    }],

    // 正在拼团的列表数据
    pt_list: [],

    // 获取到的种类列表数据
    type_list_data: [],
    // 选中的种类数据数组
    type_data_arr: [],
    // 选中的种类数据
    type_data: "",

    // 是否显示弹框
    tan_kuang: false,
    // 是否显示购买弹出框
    buy: false,
    // 是否显示评论弹框
    ping_lun: false,
    // 是否显示拼团列表
    pt_list_show: false,

    // 是否显示规则弹框
    tk_rule: false,
    // 弹框中的规则数据
    tk_rule_data: [{
      content: "拼团订单支付成功后视为开团/参团成功"
    }, {
      content: "必须在活动时间内邀请足够多的好友参团，拼团才算成功"
    }, {
      content: "若未在活动时间内完成拼团，则将自动退款至支付账户"
    }, {
      content: "如对活动有任何疑问，请联系本店微信客服或致电咨询"
    }],

    // 是否显示登录组件
    login_show: false,
    // 登录组件的提示内容
    login_title: "",

    // 购买的数量
    buy_number: 1,
    // 购买的类型
    buy_type: 1,
  },
  // 生命周期函数--监听页面加载
  onLoad: function(options) {
    var that = this;

    // 获取用户信息
    this.setData({
      user_data: getApp().data.user_data,
    })

    if (options.scene) {
      this.setData({
        goods_id: decodeURIComponent(options.scene)
      })
    } else {
      this.setData({
        goods_id: options.goods_id
      })
    }
    // 获取该商品的数据
    this.get_goods_data();
  },
  // 生命周期函数--监听页面显示
  onShow: function() {
    if (this.data.shua_xin) {
      // 获取该商品的数据
      this.get_goods_data();
    } else {
      this.setData({
        shua_xin: true,
      })
    }
  },
  // 获取用户数据
  login_fun(e) {
    var user_data = $.value(e);
    this.setData({
      user_data: user_data
    })
  },
  // 获取该商品的数据
  get_goods_data() {
    var goods_id = this.data.goods_id;
    $.ajax_get({
      url: "/api/goods/detail",
      data: {
        goods_id: goods_id
      },
      success: (res) => {
        var data = res.data.data;
        console.log("商品数据", data);

        var type_list_data = [];
        var type_data_arr = [];
        if (data.spec) {
          for (var key in data.spec) {
            type_list_data.push({
              title: key,
              data: data.spec[key],
            })
            type_data_arr.push("");
          }
        }
        this.setData({
          goods_data: data,
          type_list_data: type_list_data,
          type_data_arr: type_data_arr
        })
        if (data.good_content) {
          WxParse.wxParse('fu_wen_ben', 'html', data.good_content, this);
        }
        if (data.tuan_users.num) {
          // 获取列表数据
          var pt_list = data.tuan_users.list;
          var now_time = $time.now_time().time;
          pt_list.forEach((obj, index) => {
            var end_time = obj.end_time;
            var djs_time = end_time * 1000 - now_time;
            pt_list[index].djs_time = djs_time;
            var djs = $time.get_djs(djs_time);
            pt_list[index].djs = djs;
          })
          // 更新列表数据
          this.setData({
            pt_list: pt_list
          })
          this.djs_fun();
        }
      }
    })
  },
  // 倒计时函数
  djs_fun() {
    clearInterval(dao_ji_shi);
    dao_ji_shi = setInterval(() => {
      // 获取最新的拼团列表
      var pt_list = this.data.pt_list;
      pt_list.forEach((obj, index) => {
        var djs_time = obj.djs_time - 1000;
        pt_list[index].djs_time = djs_time;
        var djs = $time.get_djs(djs_time);
        pt_list[index].djs = djs;
      })
      this.setData({
        pt_list: pt_list
      })
    }, 1000);
  },
  // 点击收藏按钮时触发
  shou_cang_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      var goods_id = this.data.goods_id;
    } else {
      this.setData({
        login_title: "收藏功能需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 点击评论时触发
  pl_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      this.setData({
        ping_lun: true,
      })
    } else {
      this.setData({
        login_title: "评论功能需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 发送时触发
  fspl_fun(e) {
    // 获取到的评论内容
    var value = $.value(e);
    console.log(value);
    var goods_id = this.data.goods_id;
    $.ajax_get({
      url: "/api/goods/add_comment",
      data: {
        goods_id: goods_id,
        content: value,
      },
      success: (res) => {
        console.log(res);
        // 获取该商品的数据
        this.get_goods_data();
      }
    })
  },
  // 删除评论的函数
  remove_pl_fun(e) {
    var pl_id = $.data(e, "pl_id");
    $.ajax_get({
      url: "/api/goods/comment_del",
      data: {
        id: pl_id,
      },
      success: (res) => {
        if (res.data.code == 1) {
          // 获取该商品的数据
          this.get_goods_data();
        }
      },
    })
  },
  // 点击立即购买-加入购物车-选择种类时触发
  buy_fun(e) {
    var tk_type = $.data(e, "tk_type");
    if (tk_type == "ljkj") {

    }
    switch (tk_type) {
      case "fqpt": // 发起拼团
        if (this.data.djs_data == "") {
          $.ti_shi("活动已过期");
          return false;
        } else {
          this.setData({
            buy_type: 1,
          })
        }
        break;
      case "zjgm": // 直接购买
        this.setData({
          buy_type: 2,
        })
        break;
    }
    this.setData({
      tk_type: tk_type,
      tan_kuang: true,
    })
    this.setData({
      buy: true,
    })
  },
  // 关闭弹框时调用
  tk_back_fun() {
    this.setData({
      tan_kuang: false,
      buy: false,
      pt_list_show: false,
    })
  },
  // 点击种类时触发
  type_fun(e) {
    var index = $.data(e, "index");
    var type_index = $.data(e, "type_index");
    var type_list_data = this.data.type_list_data;
    var type_data_arr = this.data.type_data_arr;
    type_data_arr[index] = type_list_data[index].data[type_index].item_id;
    this.setData({
      type_data_arr: type_data_arr,
    })
    var goods_data = this.data.goods_data;
    var type_key = this.data.type_data_arr.join("_");
    var type_data = goods_data.spec_item[type_key];
    if (!type_data) {
      type_data = "";
    }
    this.setData({
      type_data: type_data,
    })
  },
  // 购买数量-1
  jian_fun(e) {
    var value = e.detail.value;
    this.setData({
      buy_number: value
    })
  },
  // 输入购买数量
  input_fun(e) {
    var value = e.detail.value;
    this.setData({
      buy_number: value
    })
  },
  // 购买数量+1
  jia_fun(e) {
    var value = e.detail.value;
    this.setData({
      buy_number: value
    })
  },
  // 点击购买弹框中的确定时触发
  tk_buy_fun() {
    if (this.data.type_list_data.length > 0) {
      var type_data = this.data.type_data;
      if (type_data) {
        // 获取该规格的购买数量
        var buy_number = this.data.buy_number;
        // 获取该规格的库存
        if (type_data.store_count) { // 有库存
          // 购买数量大于库存
          if (buy_number > type_data.store_count) {
            this.setData({
              buy_number: type_data.store_count
            })
            $.dui_hua({
              title: "库存不足",
              content: "购买数量大于库存，已自动修改为最大库存。",
              l_show: false,
            })
            return false;
          }
        } else { // 无库存
          this.setData({
            buy_number: 0
          })
          $.dui_hua({
            title: "库存不足",
            content: "该种类的商品库存不足，请联系商家或换个种类。",
            l_show: false,
          })
          return false;
        }
      } else {
        $.ti_shi("请选择商品的类型");
        return false;
      }
    } else {
      var goods_data = this.data.goods_data;
      if (!goods_data.store_count) {
        $.dui_hua({
          title: "库存不足",
          content: "该商品的库存不足，请联系商家。",
          l_show: false,
        })
        return false;
      }
    }
    var tk_type = this.data.tk_type;
    switch (tk_type) {
      case "xzzl": // 选择种类
        // 关闭弹框
        this.tk_back_fun();
        break;
      case "fqpt": // 发起拼团
        // 发起拼团的函数
        this.fqpt_fun();
        break;
      case "zjgm": // 直接购买
        // 直接购买的函数
        this.zjgm_fun();
        break;
    }
  },
  // 发起拼团的函数
  fqpt_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      // 获取用户数据
      var user_data = this.data.user_data;
      // 获取列表数据
      var goods_data = this.data.goods_data;
      // 获取购买数量
      var buy_number = this.data.buy_number;

      var goods_obj = {
        // 团购活动id
        tuan_id: goods_data.tuan.tuan_id,
        // 商品id
        goods_id: goods_data.id,
        // 商品名称
        goods_name: goods_data.goods_name,
        // 商品价格
        goods_price: goods_data.tuan.tuan_price,
        // 商品图片
        img: goods_data.good_image,
        // 商品数量
        goods_num: buy_number,
        // 拼团价格
        tuan_price: goods_data.tuan.tuan_price,
        // 拼团人的头像
        avatar: user_data.avatar,
        // 拼团人的昵称
        nickname: user_data.nickname
      }

      // 获取选中的规格数据
      var type_data = this.data.type_data;
      // 如果有选规格
      if (type_data) {
        goods_obj.goods_price = type_data.sku;
        goods_obj.tuan_price = type_data.sku;
        goods_obj.item_id = type_data.item_id;
        goods_obj.spec_key = type_data.key;
        goods_obj.spec_key_name = type_data.key_name;
      } else {
        goods_obj.item_id = "";
        goods_obj.spec_key = "";
        goods_obj.spec_key_name = "";
      }
      var goods_arr = [goods_obj];
      // 存储选中的商品
      getApp().data.buy_goods = goods_arr;
      // 跳转到订单
      $.open("/pages/goods/pin_tuan_ding_dan/pin_tuan_ding_dan");
      console.log(goods_obj);
      // 关闭弹框
      this.tk_back_fun();
    } else {
      this.setData({
        login_title: "砍价功能需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 立即购买的函数
  zjgm_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      // 获取列表数据
      var goods_data = this.data.goods_data;
      var buy_number = this.data.buy_number;
      var goods_obj = {
        id: "",
        goods_id: goods_data.id,
        goods_num: buy_number,
        goods_name: goods_data.goods_name,
        goods_price: goods_data.shop_price,
        img: goods_data.good_image,
      };
      var type_data = this.data.type_data;
      if (type_data) {
        goods_obj.goods_price = type_data.price;
        goods_obj.item_id = type_data.item_id;
        goods_obj.spec_key = type_data.key;
        goods_obj.spec_key_name = type_data.key_name;
      } else {
        goods_obj.item_id = "";
        goods_obj.spec_key = "";
        goods_obj.spec_key_name = "";
      }
      var goods_arr = [goods_obj];
      // 存储选中的商品
      getApp().data.buy_goods = goods_arr;
      // 跳转到订单
      $.open("/pages/gou_wu_che/ding_dan/ding_dan");
      console.log(goods_arr);
      // 关闭弹框
      this.tk_back_fun();
    } else {
      this.setData({
        login_title: "购买功能需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 点击详细规则时触发
  rule_show_fun() {
    this.setData({
      rule_show: true,
    })
  },

  // 点击拼团列表中的查看更多
  pt_look_more_fun() {
    this.setData({
      pt_list_show: true,
      tan_kuang: true,
    })
  },

  // 点击去拼单
  go_pt_fun(e) {
    var tuan_team_id = $.data(e, "id");
    $.open("/pages/goods/pin_tuan/pin_tuan?id=" + tuan_team_id);
    // 关闭弹框
    this.tk_back_fun();
  }
})